emmc: add macros CMD21, BUS_WIDTH_DDR_4 and BUS_WIDTH_DDR_8
authorQixiang Xu <[email protected]>
Wed, 17 Jan 2018 05:31:21 +0000 (13:31 +0800)
committerQixiang Xu <[email protected]>
Wed, 17 Jan 2018 06:14:29 +0000 (14:14 +0800)
Add some macros according to JEDEC Standard Embedded Multi-Media
Card (eMMC) Electrical Standard (5.1)": Table 145 - Bus Mode
Selection.

Change-Id: Iaa45e0582653ef4290efd60d039f0bdc420eeb47
Signed-off-by: Qixiang Xu <[email protected]>
drivers/emmc/emmc.c
include/drivers/emmc.h

index bcdc82cef65baaf812392c5ab35cf22009c565bb..92d1e8727ef0d9e2b9bef1b976d0b2cb8fdc483d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2016-2018, ARM Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  *
@@ -353,7 +353,9 @@ void emmc_init(const emmc_ops_t *ops_ptr, int clk, int width,
               (clk != 0) &&
               ((width == EMMC_BUS_WIDTH_1) ||
                (width == EMMC_BUS_WIDTH_4) ||
-               (width == EMMC_BUS_WIDTH_8)));
+               (width == EMMC_BUS_WIDTH_8) ||
+               (width == EMMC_BUS_WIDTH_DDR_4) ||
+               (width == EMMC_BUS_WIDTH_DDR_8)));
        ops = ops_ptr;
        emmc_flags = flags;
 
index 921f4cfe644c7ac1592f6f9acafb4c733de775b0..286c014a9f1fa3044b44c31228ce9d397846f7d6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2016-2018, ARM Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -25,6 +25,7 @@
 #define EMMC_CMD13                     13
 #define EMMC_CMD17                     17
 #define EMMC_CMD18                     18
+#define EMMC_CMD21                     21
 #define EMMC_CMD23                     23
 #define EMMC_CMD24                     24
 #define EMMC_CMD25                     25
@@ -61,6 +62,8 @@
 #define EMMC_BUS_WIDTH_1               0
 #define EMMC_BUS_WIDTH_4               1
 #define EMMC_BUS_WIDTH_8               2
+#define EMMC_BUS_WIDTH_DDR_4           5
+#define EMMC_BUS_WIDTH_DDR_8           6
 #define EMMC_BOOT_MODE_BACKWARD                (0 << 3)
 #define EMMC_BOOT_MODE_HS_TIMING       (1 << 3)
 #define EMMC_BOOT_MODE_DDR             (2 << 3)